/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package huetari_48;


/**
 * Esta clase es la encargada de unicamente representar la posicion de las fichas en el tablero 
 * y de realizar las operaciones necesarias sobre ellas
 * @author kenneth
 */
public class Matriz implements IConstantes
{
    private String Matriz[][] = new String[totalFilas][totalColumnas];
    private static Matriz instancia = new Matriz(); 

    /*
     * Patron de diseño Singleton, se encarga de siempre retornar la misma instancia de la clase
     */
    public static Matriz getInstance()
    {
        if(instancia==null)
            instancia=new Matriz();
        return instancia;
    }
    
    /*
     * Retorna la matriz que representa la posicion de las fichas
     */
    public String[][] getMatriz() 
    {
        return Matriz;
    }

    /*
     * Se encarga de eliminar todas las fichas de la matriz, convirtiendo todas las posiciones en 
     * casillas nulas.
     */
    public void eliminarMatriz()
    {
        inicializarMatriz();
    }
    
    /*
     * Crea la matriz, inicializando todas sus pociciones en casillas nulas
     */
    public void inicializarMatriz()
    {
        for(int fila=0;fila<totalFilas;fila++)
            for(int colum=0;colum<totalColumnas;colum++)
                Matriz[fila][colum]=casillaNula;
    }
    
    /*
     * Realiza los cambios que se presenten en la matriz
     */
    public void actualizarMatriz(int fila, int columna, String ficha)
    {
        Matriz[fila][columna]=ficha;
    }
    
    /*
     * Muestra en pantalla la matriz que representa las fichas
     */
    public void imprimirMatriz()
    {
        System.out.println(" ");
        for(int fila=0;fila<totalFilas;fila++)
        {
            for(int colum=0;colum<totalColumnas;colum++)
                System.out.print(Matriz[fila][colum]+"  ");
            System.out.println("");
            System.out.println("");
        }
        System.out.println(" ");
                
    }
    
    
}
